function Methods(){

}

/**
 * get 请求的函数模板
 * @param funcName 函数名
 * @param url 地址
 * @returns {string} get请求函数
 */
Methods.prototype.get = function (funcName,url,type){
    if(type) {
        return `export function ${funcName}(ids) {
    return request({
     url: '${url}/' + ids,
     method: 'get'
})
}`
    } else {
        return `export function ${funcName}(query) {
    return request({
     url: '${url}',
     method: 'get',
     params: query
})
}`
    }
}
/**
 * delete 请求的函数模板
 * @param funcName 函数名
 * @param url 地址
 * @returns {string} delete请求函数
 */
Methods.prototype.delete = function (funcName,url,type){
    if(type) {
        return `export function ${funcName}(ids) {
    return request({
     url: '${url}/' + ids,
     method: 'delete'
})
}`
    } else {
        return `export function ${funcName}(query) {
    return request({
     url: '${url}',
     method: 'delete',
     params: query
})
}`
    }
}
/**
 * put 请求的函数模板
 * @param funcName 函数名
 * @param url 地址
 * @returns {string} put请求函数
 */
Methods.prototype.put = function (funcName,url){
        return `export function ${funcName}(data) {
    return request({
     url: '${url}',
     method: 'put',
     data: data
})
}`
}
/**
 * post 请求的函数模板
 * @param funcName 函数名
 * @param url 地址
 * @returns {string} post请求函数
 */
Methods.prototype.post = function (funcName,url){
    return `export function ${funcName}(data) {
  return request({
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
    },
    data,
    url: '${url}',
    method: 'post',
    transformRequest: [function(data) {
      let ret = ''
      for (const it in data) {
        ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&'
      }
      return ret
    }]
  })
}
`
}
module.exports =  Methods
